/**
 * Projeto......: ErreAga-core
 * Data criacao.: Nov 6, 2007 9:15:47 AM
 * Autor........: helder
 */
package erreAga.eb;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * @author helder
 *
 */
@Entity
@Table(name="atestado_medico", schema="public")
public class AtestadoMedico implements Serializable {

  @Id
  @SequenceGenerator(name="seqAtestadoMedico", sequenceName="public.atestado_medico_id_seq")
  @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="seqAtestadoMedico")
  @Column(name="id")
  private Integer id;

  @Temporal(TemporalType.DATE)
  @Column(name="data_inicio")
  private Date dataInicio;

  @Temporal(TemporalType.DATE)
  @Column(name="data_fim")
  private Date dataFim;

  @Column(name="motivo")
  private String motivo;

  @Column(name="caminho_imagem_arquivo")
  private String caminhoImagemAtestado;

  @ManyToOne
  @JoinColumn(name="id_funcionario")
  private Funcionario funcionario;

  /**
   *
   */
  private static final long serialVersionUID = -129250243001541665L;

  /**
   *
   */
  public AtestadoMedico() {
  }

  /**
   * @param id
   */
  public AtestadoMedico(Integer id) {
    this.id = id;
  }

  /**
   * @param dataInicio
   * @param dataFim
   * @param motivo
   * @param caminhoImagemAtestado
   * @param funcionario
   */
  public AtestadoMedico(Date dataInicio, Date dataFim, String motivo, String caminhoImagemAtestado, Funcionario funcionario) {
    this.dataInicio = dataInicio;
    this.dataFim = dataFim;
    this.motivo = motivo;
    this.caminhoImagemAtestado = caminhoImagemAtestado;
    this.funcionario = funcionario;
  }

  /**
   * @return the id
   */
  public Integer getId() {
    return id;
  }

  /**
   * @param id the id to set
   */
  public void setId(Integer id) {
    this.id = id;
  }

  /**
   * @return the caminhoImagemAtestado
   */
  public String getCaminhoImagemAtestado() {
    return caminhoImagemAtestado;
  }

  /**
   * @param caminhoImagemAtestado the caminhoImagemAtestado to set
   */
  public void setCaminhoImagemAtestado(String caminhoImagemAtestado) {
    this.caminhoImagemAtestado = caminhoImagemAtestado;
  }

  /**
   * @return the dataFim
   */
  public Date getDataFim() {
    return dataFim;
  }

  /**
   * @param dataFim the dataFim to set
   */
  public void setDataFim(Date dataFim) {
    this.dataFim = dataFim;
  }

  /**
   * @return the dataInicio
   */
  public Date getDataInicio() {
    return dataInicio;
  }

  /**
   * @param dataInicio the dataInicio to set
   */
  public void setDataInicio(Date dataInicio) {
    this.dataInicio = dataInicio;
  }

  /**
   * @return the motivo
   */
  public String getMotivo() {
    return motivo;
  }

  /**
   * @param motivo the motivo to set
   */
  public void setMotivo(String motivo) {
    this.motivo = motivo;
  }

  /**
   * @return the funcionario
   */
  public Funcionario getFuncionario() {
    return funcionario;
  }

  /**
   * @param funcionario the funcionario to set
   */
  public void setFuncionario(Funcionario funcionario) {
    this.funcionario = funcionario;
  }

}
